package com.soecode.lyf.service;

import java.util.List;

import com.soecode.lyf.dto.AppointExecution;
import com.soecode.lyf.entity.Book;

/**
 * 业务接口：站在"使用者"角度设计接口 三个方面：方法定义粒度，参数，返回类型（return 类型/异常）
 *
 * @author Administrator
 */
public interface BookService {

    /**
     * 查询一本图书
     *
     * @param bookId 图书id
     * @return 查询的书
     */
    Book getById(long bookId);

    /**
     * 查询所有图书
     *
     * @return 所有图书
     */
    List<Book> getList();

    /**
     * 预约图书
     *
     * @param bookId    图书id
     * @param studentId 学号
     * @return 预约的图书
     */
    AppointExecution appoint(long bookId, long studentId);

}
